package com.zhongwang.mms.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class HAnnexExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HAnnexExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAnxIdIsNull() {
            addCriterion("anx_id is null");
            return (Criteria) this;
        }

        public Criteria andAnxIdIsNotNull() {
            addCriterion("anx_id is not null");
            return (Criteria) this;
        }

        public Criteria andAnxIdEqualTo(Integer value) {
            addCriterion("anx_id =", value, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdNotEqualTo(Integer value) {
            addCriterion("anx_id <>", value, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdGreaterThan(Integer value) {
            addCriterion("anx_id >", value, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("anx_id >=", value, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdLessThan(Integer value) {
            addCriterion("anx_id <", value, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdLessThanOrEqualTo(Integer value) {
            addCriterion("anx_id <=", value, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdIn(List<Integer> values) {
            addCriterion("anx_id in", values, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdNotIn(List<Integer> values) {
            addCriterion("anx_id not in", values, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdBetween(Integer value1, Integer value2) {
            addCriterion("anx_id between", value1, value2, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxIdNotBetween(Integer value1, Integer value2) {
            addCriterion("anx_id not between", value1, value2, "anxId");
            return (Criteria) this;
        }

        public Criteria andAnxNameIsNull() {
            addCriterion("anx_name is null");
            return (Criteria) this;
        }

        public Criteria andAnxNameIsNotNull() {
            addCriterion("anx_name is not null");
            return (Criteria) this;
        }

        public Criteria andAnxNameEqualTo(String value) {
            addCriterion("anx_name =", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameNotEqualTo(String value) {
            addCriterion("anx_name <>", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameGreaterThan(String value) {
            addCriterion("anx_name >", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameGreaterThanOrEqualTo(String value) {
            addCriterion("anx_name >=", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameLessThan(String value) {
            addCriterion("anx_name <", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameLessThanOrEqualTo(String value) {
            addCriterion("anx_name <=", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameLike(String value) {
            addCriterion("anx_name like", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameNotLike(String value) {
            addCriterion("anx_name not like", value, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameIn(List<String> values) {
            addCriterion("anx_name in", values, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameNotIn(List<String> values) {
            addCriterion("anx_name not in", values, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameBetween(String value1, String value2) {
            addCriterion("anx_name between", value1, value2, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxNameNotBetween(String value1, String value2) {
            addCriterion("anx_name not between", value1, value2, "anxName");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathIsNull() {
            addCriterion("anx_file_path is null");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathIsNotNull() {
            addCriterion("anx_file_path is not null");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathEqualTo(String value) {
            addCriterion("anx_file_path =", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathNotEqualTo(String value) {
            addCriterion("anx_file_path <>", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathGreaterThan(String value) {
            addCriterion("anx_file_path >", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathGreaterThanOrEqualTo(String value) {
            addCriterion("anx_file_path >=", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathLessThan(String value) {
            addCriterion("anx_file_path <", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathLessThanOrEqualTo(String value) {
            addCriterion("anx_file_path <=", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathLike(String value) {
            addCriterion("anx_file_path like", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathNotLike(String value) {
            addCriterion("anx_file_path not like", value, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathIn(List<String> values) {
            addCriterion("anx_file_path in", values, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathNotIn(List<String> values) {
            addCriterion("anx_file_path not in", values, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathBetween(String value1, String value2) {
            addCriterion("anx_file_path between", value1, value2, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxFilePathNotBetween(String value1, String value2) {
            addCriterion("anx_file_path not between", value1, value2, "anxFilePath");
            return (Criteria) this;
        }

        public Criteria andAnxStatusIsNull() {
            addCriterion("anx_status is null");
            return (Criteria) this;
        }

        public Criteria andAnxStatusIsNotNull() {
            addCriterion("anx_status is not null");
            return (Criteria) this;
        }

        public Criteria andAnxStatusEqualTo(Integer value) {
            addCriterion("anx_status =", value, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusNotEqualTo(Integer value) {
            addCriterion("anx_status <>", value, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusGreaterThan(Integer value) {
            addCriterion("anx_status >", value, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("anx_status >=", value, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusLessThan(Integer value) {
            addCriterion("anx_status <", value, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusLessThanOrEqualTo(Integer value) {
            addCriterion("anx_status <=", value, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusIn(List<Integer> values) {
            addCriterion("anx_status in", values, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusNotIn(List<Integer> values) {
            addCriterion("anx_status not in", values, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusBetween(Integer value1, Integer value2) {
            addCriterion("anx_status between", value1, value2, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("anx_status not between", value1, value2, "anxStatus");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateIsNull() {
            addCriterion("anx_upload_date is null");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateIsNotNull() {
            addCriterion("anx_upload_date is not null");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateEqualTo(Date value) {
            addCriterion("anx_upload_date =", value, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateNotEqualTo(Date value) {
            addCriterion("anx_upload_date <>", value, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateGreaterThan(Date value) {
            addCriterion("anx_upload_date >", value, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateGreaterThanOrEqualTo(Date value) {
            addCriterion("anx_upload_date >=", value, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateLessThan(Date value) {
            addCriterion("anx_upload_date <", value, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateLessThanOrEqualTo(Date value) {
            addCriterion("anx_upload_date <=", value, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateIn(List<Date> values) {
            addCriterion("anx_upload_date in", values, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateNotIn(List<Date> values) {
            addCriterion("anx_upload_date not in", values, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateBetween(Date value1, Date value2) {
            addCriterion("anx_upload_date between", value1, value2, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxUploadDateNotBetween(Date value1, Date value2) {
            addCriterion("anx_upload_date not between", value1, value2, "anxUploadDate");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdIsNull() {
            addCriterion("anx_ity_id is null");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdIsNotNull() {
            addCriterion("anx_ity_id is not null");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdEqualTo(Integer value) {
            addCriterion("anx_ity_id =", value, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdNotEqualTo(Integer value) {
            addCriterion("anx_ity_id <>", value, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdGreaterThan(Integer value) {
            addCriterion("anx_ity_id >", value, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("anx_ity_id >=", value, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdLessThan(Integer value) {
            addCriterion("anx_ity_id <", value, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdLessThanOrEqualTo(Integer value) {
            addCriterion("anx_ity_id <=", value, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdIn(List<Integer> values) {
            addCriterion("anx_ity_id in", values, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdNotIn(List<Integer> values) {
            addCriterion("anx_ity_id not in", values, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdBetween(Integer value1, Integer value2) {
            addCriterion("anx_ity_id between", value1, value2, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxItyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("anx_ity_id not between", value1, value2, "anxItyId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdIsNull() {
            addCriterion("anx_user_id is null");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdIsNotNull() {
            addCriterion("anx_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdEqualTo(Integer value) {
            addCriterion("anx_user_id =", value, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdNotEqualTo(Integer value) {
            addCriterion("anx_user_id <>", value, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdGreaterThan(Integer value) {
            addCriterion("anx_user_id >", value, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("anx_user_id >=", value, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdLessThan(Integer value) {
            addCriterion("anx_user_id <", value, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("anx_user_id <=", value, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdIn(List<Integer> values) {
            addCriterion("anx_user_id in", values, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdNotIn(List<Integer> values) {
            addCriterion("anx_user_id not in", values, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdBetween(Integer value1, Integer value2) {
            addCriterion("anx_user_id between", value1, value2, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("anx_user_id not between", value1, value2, "anxUserId");
            return (Criteria) this;
        }

        public Criteria andAnxUrlIsNull() {
            addCriterion("anx_url is null");
            return (Criteria) this;
        }

        public Criteria andAnxUrlIsNotNull() {
            addCriterion("anx_url is not null");
            return (Criteria) this;
        }

        public Criteria andAnxUrlEqualTo(String value) {
            addCriterion("anx_url =", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlNotEqualTo(String value) {
            addCriterion("anx_url <>", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlGreaterThan(String value) {
            addCriterion("anx_url >", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlGreaterThanOrEqualTo(String value) {
            addCriterion("anx_url >=", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlLessThan(String value) {
            addCriterion("anx_url <", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlLessThanOrEqualTo(String value) {
            addCriterion("anx_url <=", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlLike(String value) {
            addCriterion("anx_url like", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlNotLike(String value) {
            addCriterion("anx_url not like", value, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlIn(List<String> values) {
            addCriterion("anx_url in", values, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlNotIn(List<String> values) {
            addCriterion("anx_url not in", values, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlBetween(String value1, String value2) {
            addCriterion("anx_url between", value1, value2, "anxUrl");
            return (Criteria) this;
        }

        public Criteria andAnxUrlNotBetween(String value1, String value2) {
            addCriterion("anx_url not between", value1, value2, "anxUrl");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}